assume cs:codesg
codesg segment

a segment
   dw 1, 2, 3, 4, 5, 6, 7, 8, 0, 0ah, 0bh, 0ch, 0dh, 0eh, 0fh, 0ffh
a ends

b segment
   dw 0, 0, 0, 0, 0, 0, 0, 0
b ends

start:
   mov ax, a
   mov ds, ax
   mov ax, b
   mov ss, ax
   mov sp, 10h
   mov bx, 0
   mov cx, 8
s:
   push [bx]
   add bx, 2
   loop s

   mov ax, 4C00H
   int 21H

codesg ends

end start
